package com.candy.oop;

/**
 * 方法参数的传递机制
 */
public class Test02 {
    public static void main(String[] args) {
        Student stu=new Student();
        int age=22;
        System.out.println("方法调用前：：："+age);//22
//        值传递时，实参和形参在内存中占不同的空间，当实参的值传递给形参后，两者之间将互不影
//       值传递相当于修改实参的拷贝值，在方法中修改参数，不会对实参有影响
        stu.sayHello(age);//25
        System.out.println("方法调用后：：："+age);//22
        Teacher t1=new Teacher();
        t1.teaName="马雪姣老师";
        System.out.println("方法调用前：：："+t1.teaName);//马雪姣老师
//        引用传递：引用传递是将实参的“地址”传递给形参，被调方法通过传递的地址获取其指向的内存空间，从而在原来内存空间直接进行操作
//       引用传递， 修改时实参本身
        stu.sayHello(t1);//马老师
        System.out.println("方法调用后：：："+t1.teaName);//马老师
        t1.teaNo=1005;
        t1.teaSex=true;




    }
}
